package cn.zn.modules.budget.cur.entity;

import cn.zn.framework.common.abs.AbsOldMainEntity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.util.List;

@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
@TableName(value = "t_budget_income", resultMap = "BaseResultMap")
public class TBudgetIncome extends AbsOldMainEntity {

    /**
     * 业务类型
     */
    @NotBlank
    @TableField(value = "BUSI_TYPE_")
    private String busiType;

    /**
     * 付款人开户行号
     */
    @TableField(value = "PAYER_BANK_NUM_")
    private String payerBankNum;

    /**
     * 付款人开户行名
     */
    @TableField(value = "PAYER_BANK_ACCOUNT_")
    private String payerBankAccount;

    /**
     * 付款人账号
     */
    @TableField(value = "PAYER_ACCOUNT_NO_")
    private String payerAccountNo;

    /**
     * 付款人名称
     */
    @TableField(value = "PAYER_NAME_")
    private String payerName;

    /**
     * 收款人开户行名
     */
    @TableField(value = "PAYEE_BANK_ACCOUNT_")
    private String payeeBankAccount;

    /**
     * 收款人账号
     */
    @TableField(value = "PAYEE_ACCOUNT_NO_")
    private String payeeAccountNo;

    /**
     * 收款人名称
     */
    @TableField(value = "PAYEE_NAME_")
    private String payeeName;

    /**
     * 交易日期
     */
    @NotBlank
    @TableField(value = "TRANS_DATE_")
    private String transDate;

    /**
     * 交易金额
     */
    @NotNull
    @TableField(value = "TRADE_AMOUNT_")
    private Double tradeAmount;

    /**
     * 标签集合
     */
    @TableField(exist = false)
    private List<TBudgetIncomeTag> tags;
}